package org.kzwl.service.web;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.kzwl.comm.pojo.ResponseData;
import org.kzwl.comm.pojo.bo.QueryAdminCuVenuesBO;
import org.kzwl.comm.pojo.bo.SaveCuVenuesBO;
import org.kzwl.comm.pojo.bo.venues.QueryDetailsBO;
import org.kzwl.comm.pojo.bo.venues.VenueBasicBO;
import org.kzwl.comm.pojo.dto.CuVenuesUserDTO;
import org.kzwl.comm.pojo.dto.venues.QueryRecordDTO;
import org.kzwl.comm.pojo.dto.venues.VenuesBasicDTO;
import org.kzwl.comm.pojo.dto.venues.VenuesDetailsDTO;
import org.kzwl.entity.web.CuVenues;

import java.util.List;

/**
 * <p>
 * 场馆预约 服务类
 * </p>
 *
 * @author 张国伟/郭家恒
 * @since 2020-12-18
 */
public interface CuVenuesService extends IService<CuVenues> {

    /**
     * 添加
     * @param saveCuVenuesBO
     * @return
     */
    ResponseData<Void> saveOne(SaveCuVenuesBO saveCuVenuesBO);

    ResponseData<IPage<CuVenues>> queryPages(QueryAdminCuVenuesBO queryAdminCuVenuesBO);

    ResponseData<CuVenues> queryOne(Long Id);

    ResponseData<Void> updateOne(SaveCuVenuesBO saveCuVenuesBO);

    ResponseData<Void> deleteId(Long Id);

    //场馆预约基础查询
    IPage<VenuesBasicDTO> queryBasic(VenueBasicBO bo);

    //查询场馆预约详细
    VenuesDetailsDTO queryDetails(QueryDetailsBO bo);

    //参与场馆预约
    void joinVenues(QueryDetailsBO bo);

    //场馆预约参与记录
    QueryRecordDTO queryRecord(QueryDetailsBO bo);



    ResponseData<List<CuVenuesUserDTO>> queryVenuesUser(Integer cuVenuesId);
}
